package ft.xpf.util;

import javafx.scene.input.Clipboard;
import javafx.scene.input.ClipboardContent;

/**
 * 剪贴板
 */
public class ClipBoardUtil
{
	/**
	 * 从系统剪贴板取出字符串，如果没有，返回空字符串。
	 * @return
	 */
	public static String getStrFromClip()
	{
		String ret = "";
		Clipboard cb = Clipboard.getSystemClipboard();
		if(cb!=null && cb.hasString())
		{
			ret = cb.getString();
		}
		return ret;
	}
	
	public static void setStrToClip(String str)
	{
		if(str!=null && str.length()>0)
		{
			Clipboard cb = Clipboard.getSystemClipboard();
			
			ClipboardContent cc = null;
			cc = new ClipboardContent();
			
			cc.putString(str);
			
			// 这里有个坑，这里的 ClipboardContent 本身 extends HashMap 所以不需要手动包装一层 Map 容器。
			// 直接把 ClipboardContent 设置进 Clipboard 就可以了。
			// Map<DataFormat, Object> m = new HashMap<DataFormat, Object>();
			// m.put(DataFormat.PLAIN_TEXT, cc);
			
			cb.setContent(cc);
		}
	}
}
